/**
 * @description: 类型判断
 */
export function typeOf(value) {
	/* Object Array Boolean String Function Number ... */
	return Object.prototype.toString.call(value).match(/ (\S*)]/)[1];
}

/**
 * @description: 地址栏参数转对象 字符串
 */
export function stringifyToParams(params) {
	const str = params.split("?")[1] || "";
	let obj = {};
	const items = str.length > 0 ? str.split("&") : [];
	items.forEach((item) => {
		const arr = item.split("=");
		const key = decodeURIComponent(arr[0]);
		const value = decodeURIComponent(arr[1]);
		obj = { ...obj, [key]: value };
	});
	return obj;
}

/**
 * @description: 对象转地址栏参数
 */
export function paramsToStringify(params) {
	return Object.keys(params)
		.map((item) => {
			return `${item}=${params[item]}`;
		})
		.join("&");
}
